package com.yunhe.authority.repository.authority;

import com.yunhe.authority.domain.authority.HomePage;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

/**
 * 首页数据仓库
 * @desc 首页数据仓库定义
 * @author liuronglei
 */
@Repository
public interface HomePageRepository extends Neo4jRepository<HomePage, Long> {

    /**
     * 根据首页编号获得首页对象
     * @param name 首页编号
     */
    HomePage findByName(String name);

    /**
     * 根据用户ID获得首页对象
     * @param userId 用户ID
     */
    @Query("match(user)-[:HOMEPAGE_OF]-(page) where ID(user)={userId} return page")
    HomePage findHomePageByUserId(@Param("userId") Long userId);

    /**
     * 根据单位ID获得首页对象
     * @param firmId 单位ID
     */
    @Query("match(firm)-[:HOMEPAGE_OF]-(page) where ID(firm)={firmId} return page")
    HomePage findHomePageByFirmId(@Param("firmId") Long firmId);
}
